package student.aistar.day02.Method;

public class StaticDetailDemo {
    //定义了全局变量
    //属性, 方法 => 成员
    //非静态的属性
    int n = 10;//等创建对象的时候, 才会分配空间和初始化

    //静态属性 - 初始化的时机优先于静态方法, 所以如果在静态方法或者非静态方法中有,会直接报错
    static int m = 100;
    public static void main(String[] args) {
        //此时n还未初始化
//        System.out.println(n); 编译错误
        System.out.println(m);
        StaticDetailDemo s = new StaticDetailDemo();

        System.out.println(s);
        System.out.println(-15 >> 2);
    }

    public void test01(){
        System.out.println(m);
    }

    public static void test02(){
        int i = 10;
    }

    public void test03(){
        //static int n = 20;//非静态方法中不允许定义静态的局部变量

        //非静态方法中调用静态方法 - 类名.方法
        StaticDetailDemo.test02();

        //非静态方法中直接调用另外一个非静态方法 ---- 肯定是需要一个对象去调用
        test01();

        //实际上省略了一个关键字this
        this.test01();
        //this指的是调用test03的对象
        System.out.println(this);
        System.out.println(-15 >> 2);


        System.out.println(4294967296D > 123456789D);



    }
}
